Algebraic Substitution